/**
 * @File   : print.js
 * @Author : xf (953983040@qq.com)
 * @Link   :
 * @Date   : 2017-10-13 11:09:46
 */

import { Loading } from 'element-ui'
require("jquery.jqprint")
export default {
    bindEvent($parent) {
        let self = this
            // $grid.on('click', '.gs-print', function() {
        $parent.on('click', '.gs-print', function() {
            let $li = $(this).parents("li");
            let $ele = $li.clone()
            let $canvas = $li.find('.chart canvas');
            let $canvas2 = $ele.find('.chart canvas');
            if ($canvas.length > 0) {
                let item = $canvas[0]
                let width = item.width
                let height = item.height
                let url = item.toDataURL('image/png', 1);
                let $img = $('<img src="' + url + '" width="' + width + '"  height="' + height + '" ></img>');
                $img.replaceAll($canvas2)
            }
            $ele.find('a').remove()
            $ele.css({
                'list-style-type': 'none'
            })
            $ele.find('li').css({
                'list-style-type': 'none'
            })
            $ele.find('img').parent().css({
                'display': 'table-cell',
                'vertical-align': 'middle',
                'text-align': 'center'
            })
            $ele.find('.fixed-table-container').css({
                height: '100%'
            })
            $ele.find('input').remove()
                // $ele.find('.fixed-table-body .fixed-table-loading').remove()
                // $ele.find('.fixed-table-body table thead').remove()
                // $ele.find('.fixed-table-pagination').remove()
            $ele.find('.fixed-table-pagination .pull-right pagination ul li').remove()
            let ul = $('<ul></ul>').append($ele)
            let loading = Loading.service({ fullscreen: true })
            ul.jqprint({
                debug: false, //如果是true则可以显示iframe查看效果（iframe默认高和宽都很小，可以再源码中调大），默认是false
                importCSS: true, //true表示引进原来的页面的css，默认是true。（如果是true，先会找$("link[media=print]")，若没有会去找$("link")中的css文件）
                printContainer: true, //表示如果原来选择的对象必须被纳入打印（注意：设置为false可能会打破你的CSS规则）。
                operaSupport: false, //表示如果插件也必须支持歌opera浏览器，在这种情况下，它提供了建立一个临时的打印选项卡。默认是true
                loading: loading
            });
            // let newWindow = window.open("_blank");   //打开新窗口
            // let codestr = $li.html();   //获取需要生成pdf页面的div代码
            // newWindow.document.write(codestr);   //向文档写入HTML表达式或者JavaScript代码
            // newWindow.document.close();     //关闭document的输出流, 显示选定的数据
            // newWindow.print();   //打印当前窗口
        });
    },
    createElement(right) {
        return '<a href="javascript:;" class="gs-print" style="position: absolute;top: 5px;right: ' + right + 'px;font-size: 10px;display: inline;z-index: 9999" title="打印"><i class="el-icon-document"></i></a>'
    }
}